package top.tangyh.lamp.care.vo.result;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.Valid;
import jakarta.validation.constraints.NotBlank;
import lombok.Data;
import top.tangyh.basic.base.entity.Entity;

import java.util.List;

@Data
@Schema(description = "观察项目记录note 保存时，id为null且数据库不存在时 则新增; id为null，业务主键对应记录存在时，则更新; id不为null时，也为更新")
public class ObsvRecordDto extends Entity<Long> {

//	@Schema(description = "系统主键，说明：保存时，id为null且数据库不存在时 则新增; id为null，业务主键对应记录存在时，则更新; id不为null时，也为更新")
//	private Long id;

	@Schema(description = "观察项id")
	private Long obsvId;

	@Schema(description = "观察项名称")
	private String obsvName;

	@Schema(description = "数据类型，说明：取数据字典name值，值为 integer,float,struct,enum,boolean,string")
	private String dataType;

	@Schema(description = "观察项类型，说明：取数据字典name值")
	private String obsvType;


	@Schema(description = "病人识别号")
	private String patientIdent;

	@Schema(description = "病人住院号", required = false)
	private String hospitalNumber;

	@Schema(description = "标识,或即观察标识，说明：为生命特征指标编码如spo2")
	@NotBlank(message = "观察标识不能为空，或即生命特征参数")
	private String obsvCode;

	@Schema(description = "生命体征参数值")
	private String propValue;

	@Schema(description = "记录时间")
	private Long recTime;

	@Schema(description = "是否范围内，说明：0 否，1是，默认1")
	private Integer isRange;

	@Schema(description = "创建时数据来源，说明：dev--来自设备，hand--用户手填")
	private String createSource;

	@Schema(description = "生命体征结构或枚举 的值")
	@Valid
	private List<ObsvRecordDto> detail;

	@Schema(description = "采集人")
	private String caijiren;

	@Schema(description = "是否显示 0 否  1 是")
	private Integer isVisible;



}